<?php

    class ApostarController
    {
        var $apuesta;
        var $errs;
        var $partidos;
        var $saldo;

        function ApostarController()
        {
            // Solo usuarios
            Session::onlyUsers();

            $this->apuesta = new Apuesta();
            $this->errs = array();
            
            $this->partidos = PartidosDAO::getNoFinalizados();
            $this->saldo = UsuariosDAO::getById( Session::getUser()->idUsuario )->saldo;

            if (sizeof($this->partidos) == 0)
            {
                $this->errs[] = "Al parecer no hay partidos, o ya todos finalizaron...";
                return;
            }

            if ($_SERVER["REQUEST_METHOD"] == "POST")
            {
                $this->parseForm();
                if (!$this->validate()) return;

                // Agregar
                if (ApuestasLogic::apostar($this->apuesta))
                    header('Location: index.php?action=historialapuestas');
                else
                {
                    $this->errs[] = "No se pudo realizar la apuesta (Posiblemente su saldo no es suficiente)";
                    return;
                }
                    
            }
        }


        function parseForm()
        {
            $this->apuesta->monto = $_POST['monto'];
            $this->apuesta->resultado = $_POST['resultado'];
            $this->apuesta->idPartido = $_POST['idPartido'];
            $this->apuesta->idUsuario = $_SESSION['idUsuario'];
        }

        function validate()
        {
            if ($this->apuesta->monto == '')
                    $this->errs[] = "No puede ser vacio el monto";

            if (!is_numeric($this->apuesta->monto))
                    $this->errs[] = "Monto debe ser un numero";

            if ($this->apuesta->monto <= 0)
                    $this->errs[] = "Monto debe ser mayor a 0";

            if (!is_numeric($this->apuesta->idPartido))
                    $this->errs[] = "idPartido debe ser un numero";

            //....

            return (sizeof($this->errs) == 0);
        }
    }

?>